← Courses

CS520: Theory and Practice of Software Engineering

Course Description: CS 520 introduces students to the principal activities and state-of-the-art techniques involved in developing high-quality software systems. Topics include: requirements analysis, formal specification methods, software design, software testing and debugging, program analysis, and automated software engineering.


My Course Reflection

I took this course in the Spring of 2024. I learned the most were advanced git concepts (cherry picking, rebasing, squashing, and merging), software design patterns, and software testing, and automated testing using Randoop. The course was project-based and we worked in a team to build a software system. We used Notion to document everything, and you can find our offical page of our final project, Ice-Queb.